from devicetest.api import Asserts

from devicetest.aw.OpenHarmony import CommonOH
from devicetest.core.test_case import TestCase, Step
from devicetest.log.logger import print_info

from aw.common import common_setup, common_teardown
from aw.pom import Memorandum


class PreTest_RK3568_Tooling_Memorandum_0600(TestCase, Memorandum):
    # 预置条件：
    # 烧写目标版本后，正常进入桌面
    # 测试步骤：
    # 1.进入桌面-备忘录应用，长按笔记，点击移到按钮
    # 2.勾选新的分类
    # 3.查看笔记是否被移动到了新的分类中
    # 预期结果：
    # 1.长按笔记，显示可分类的弹窗
    # 2.勾选新的分类自动保存
    # 3.在选择的新的分类中可以查看到此笔记

    def __init__(self, controllers):
        self.TAG = self.__class__.__name__
        TestCase.__init__(self, self.TAG, controllers)

    def setup(self):
        common_setup(self.Phone1)

    def process(self):
        Step('步骤1：进入桌面-备忘录应用，长按笔记，点击移到按钮')
        CommonOH.startAbility(self.Phone1, self.ability_name, self.bundle_name)
        CommonOH.wait(self.Phone1, 1)
        CommonOH.touchByText(self.Phone1, '数学公式', mode='LONG')
        CommonOH.wait(self.Phone1, 0.5)

        CommonOH.click(self.Phone1, **self.move_menu)
        Step('预期结果1：长按笔记，显示可分类的弹窗')
        CommonOH.checkIfTextExist(self.Phone1, '请选择文件夹')
        CommonOH.checkIfTextExist(self.Phone1, '个人')
        CommonOH.checkIfTextExist(self.Phone1, '生活')
        CommonOH.checkIfTextExist(self.Phone1, '工作')

        Step('步骤2：勾选新的分类')
        CommonOH.touchByText(self.Phone1, '工作')
        CommonOH.wait(self.Phone1, 0.5)
        # 点击新建文件夹的输入框
        Step('预期结果2：勾选新的分类自动保存')
        CommonOH.checkIfTextExist(self.Phone1, '全部笔记')
        CommonOH.checkIfTextExist(self.Phone1, '取消', expect=False)

        Step('步骤3：查看笔记是否被移动到了新的分类中')
        CommonOH.click(self.Phone1, **self.open_menu)
        # 点击新建文件夹的输入框
        CommonOH.touchByText(self.Phone1, '工作')
        CommonOH.click(self.Phone1, **self.close_menu)
        Step('预期结果3：在选择的新的分类中可以查看到此笔记')
        CommonOH.checkIfTextExist(self.Phone1, '数学公式')

    def teardown(self):
        common_teardown(self.Phone1, self.bundle_name)
